<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>ECF New and Noteworthy</title>
<link rel="stylesheet" href="http://www.eclipse.org/default_style.css" type="text/css">

</head>

<body bgcolor="#FFFFFF">
<table border=0 cellspacing=5 cellpadding=2 width="100%">
  <tbody>
    <tr>
      <td width="69%" class="bannertext">
        <font class="indextop style">eclipse communication framework</font>
        <br><br>
        <font class="indexsub">an eclipse technology subproject</font>
        <br><br>
        <font class="indextop style2">New and Noteworthy</font><br>1.0.0 Milestone 7</font>
        <br><br><br>
        Return to <a href="downloads.php">ECF download page</a></br>
        Return to <a href="comm_resources.php">ECF communication resources page</a>
        <br><br>
        <a href="NewAndNoteworthy_0.7.0.html">New and Noteworthy for 0.7.0</a><br>
        <a href="NewAndNoteworthy_0.7.5.html">New and Noteworthy for 0.7.5</a><br>
        <a href="NewAndNoteworthy_0.7.6.html">New and Noteworthy for 0.7.6</a><br>
        <a href="NewAndNoteworthy_0.8.0.html">New and Noteworthy for 0.8.0</a><br>
        <a href="NewAndNoteworthy_0.8.1.html">New and Noteworthy for 0.8.1</a><br>
        <a href="NewAndNoteworthy_0.8.2.html">New and Noteworthy for 0.8.2</a><br>
        <a href="NewAndNoteworthy_0.8.4.html">New and Noteworthy for 0.8.4</a><br>
        <a href="NewAndNoteworthy_0.8.5.html">New and Noteworthy for 0.8.5</a><br>
        <a href="NewAndNoteworthy_0.8.6.html">New and Noteworthy for 0.8.6</a><br>
        <a href="NewAndNoteworthy_0.8.7.html">New and Noteworthy for 0.8.7</a><br>
        <a href="NewAndNoteworthy_0.8.9.html">New and Noteworthy for 0.8.9</a><br>
        <a href="NewAndNoteworthy_0.9.0.html">New and Noteworthy for 0.9.0</a><br>
        <a href="NewAndNoteworthy_0.9.1.html">New and Noteworthy for 0.9.1</a><br>
        <a href="NewAndNoteworthy_0.9.2.html">New and Noteworthy for 0.9.2</a><br>
        <a href="NewAndNoteworthy_0.9.3.html">New and Noteworthy for 0.9.3</a><br>
        <a href="NewAndNoteworthy_0.9.4.html">New and Noteworthy for 0.9.4</a><br>
        <a href="NewAndNoteworthy_0.9.5.html">New and Noteworthy for 0.9.5</a><br>
        <a href="NewAndNoteworthy_0.9.6.html">New and Noteworthy for 0.9.6</a><br>
        <a href="NewAndNoteworthy_1.0.0M5.html">New and Noteworthy for 1.0.0 Milestone 5</a>
        <a href="NewAndNoteworthy_1.0.0M6.html">New and Noteworthy for 1.0.0 Milestone 6</a><br>
      </td>
      <td width="31%">
        <div align="center">
          <img src="../images/Idea.jpg" width="120" height="86" hspace="50" align="middle">
        </div>
      </td>
    </tr>
  </tbody>
</table>

<hr>

<table>
  <TR><TD colSpan=2><H2>Skype Provider</H2></TD>
  
  <TR>
  
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Skype Provider</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
        Skype Provider Available at <a href="http://ecf1.osuosl.org">ECF OSU Open Source Lab site</a>.  See
        also <a href="http://wiki.eclipse.org/index.php/Skype_Provider">here for some screen shots</a>
       <br><br>
    </td>
  </TR>

  <TR> <!----------------------------------------------------->
    <TD colSpan=2> <HR> </TD>
  </TR>
  
 <TR><TD colSpan=2><H2>UI Features</H2></TD>

  <TR>
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>IRC Bot Loose at irc.freenode.net</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
     	An IRC bot based upon the ECF <a href="http://wiki.eclipse.org/index.php/Bot_Framework">Bot Framework</a> is
     	running at irc.freenode.net.  See <a href="http://wiki.eclipse.org/index.php/IRC_Bot">IRC Bot</a> for details.
       <br><br>
       <br><br>
    </TD>
   </tr>

  <TR>
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>New Roster and Messages Views</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
    <p>
    	There are new roster and messages views:
    	</p>
    	<p>
    	            <img src="images/screens/contactsandmessages.png">
       These views also are significantly refactored, simplifed, and made more extensible.  See the classes
       <b>org.eclipse.ecf.presence.ui.MultiRosterView</b> for the Contacts view, and <b>org.eclipse.ecf.presence.ui.MessagesView</b>
       for the Messages View.  Both are in the <b>org.eclipse.ecf.presence.ui</b> bundle.
       </p>
       <br><br>
       <br><br>
    </td>
  </TR>

  <TR>
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Communications Perspective</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
        <p>
    	Communications Perspective Added. </p>
    	<p>
    	            <img src="images/screens/communicationsperspective.png">
    	            </p>
        <br><br>
       <br><br>
    </td>
  </TR>

  <TR>
  </TR>
  
  <TR>
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>ShareCode Available</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
        ShareCode plugin available after IP approval.  The <a href="http://wiki.eclipse.org/index.php/Shared_Code_Plugin">ShareCode plugin, by Marcelo Mayworm</a> for the
        <a href="http://wiki.eclipse.org/index.php/Google_Summer_of_Code_2006">2006 Google Summer of Code</a> are now availble in the EF repository.  These plugins are available via 
        anonymous CVS with the following path:  <b>/cvsroot/technology</b>, the following module <b>org.eclipse.ecf/examples/plugins/org.eclipse.ecf.example.sharecode</b>.  
        See the <a href="http://wiki.eclipse.org/index.php/Shared_Code_Plugin">ShareCode wiki page</a> for more info.  This plugin will also be in a future distribution
        of ECF.
        <br><br>
       <br><br>
    </td>
  </TR>

  <TR>
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>All ECF Chat and Messages Views support viewing Hyperlinks</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
    <p>
       All ECF Chat, Messages, and Collaboration views now support embedded hyperlinks.  To activate, 
       simply hold down the <b>CTRL</b> key
       while pointing at the link:
       </p>
            <img src="images/screens/hyperlinkchat.png">
        <br><br>
       <br><br>
    </TD>
   </tr>

  <TR>
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Hyperlink Recognition for Communication Protocols</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
    <p>
    	Hyperlinks in text editors, java editors, etc. are now recognized by ECF and if clicked will result
    	in a connect dialog for the chosen protocol.  For example:
       </p>
            <img src="images/screens/ecfhyperlink1.png">
       <br><br>
            <img src="images/screens/ecfhyperlink2.png">
        <br><br>
       <br><br>

    </TD>
   </tr>

    <TR> <!----------------------------------------------------->
    <TD colSpan=2> <HR> </TD>
  </TR>
  
  <TR><TD colSpan=2><H2>API Enhancements</H2></TD>

  <TR>
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Dynamic Menu Contributions to Roster View</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
        The MultiRosterView now can be extended using the org.eclipse.ui.menus.menuContribution extension point.  TODO
         <br><br>
       <br><br>
    </TD>
   </tr>

  <TR>
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Chat View Class Consolidation</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
        Several chat view classes have been consolidated so that now there is only one chat view org.eclipse.ecf.presence.ui.ChatRoomManagerView.
        <br><br>
       <br><br>
    </TD>
   </tr>

  <TR>
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>New Automated Build</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
        ECF now has an automated build and server setup to run automated builds.  It will be going active sometime within the next
        week (5.11.2007), and we will be doing daily, and weekly integration builds.  Thanks particularly to Pete Mackie and
        Ted Kubaska for making this possible, and getting the build environment together.
        <br><br>
       <br><br>
    </TD>
   </tr>

  <TR>
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Examples of Extending MultiRosterView Context Menus</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
    The ECF MultiRosterView can now be easily extended with additional functionality.  
    To do this, all that is necessary is to implement the new Platform UI extension point:
    <b>org.eclipse.ui.menus.menuContribution</b>.  Here's an example that adds an URL
    sharing capability to the MultiRosterView context menu, when a roster entry is 
    selected.  The following is from the <b>org.eclipse.ecf.presence.collab.ui</b> plugin.
    <p>
    First, the extension declaration:
    <pre>
   &lt;extension
         point="org.eclipse.ui.menus"&gt
      &lt;menuContribution
            locationURI="popup:org.eclipse.ecf.presence.ui.MultiRosterView?before=additions"&gt
         &lt;dynamic
               class="org.eclipse.ecf.presence.collab.ui.URLShareRosterEntryContributionItem"
               id="org.eclipse.ecf.presence.collab.ui.dynamic2"&gt
         &lt;/dynamic&gt
      &lt;/menuContribution>
   &lt;/extension&gt;
    </pre>
    With this declaration, the following code will be invoked when the user clicks the
    right menu button on a roster entry (from URLShareRosterEntryContributionItem):
    <pre>
	protected IAction[] makeActions() {
		// check for Roster entry
		final IRosterEntry entry = getSelectedRosterEntry();
		IContainer c = getContainerForRosterEntry(entry);
		// If roster entry is selected and it has a container
		if (entry != null && c != null) {
			final IChannelContainerAdapter channelAdapter = (IChannelContainerAdapter) c
					.getAdapter(IChannelContainerAdapter.class);
			// If the container has channel container adapter and is online/available
			if (channelAdapter != null && isAvailable(entry)) {
				URLShare tmp = URLShareRosterContributionItem.getURLShare(c
						.getID());
				// If there is an URL share associated with this container
				if (tmp != null) {
					final URLShare urlshare = tmp;
					// Create action for sending
					IAction action = new Action() {
						public void run() {
						    // Actually send URL to selected user
							urlshare.sendURL(entry.getRoster().getUser().getName(),entry.getUser().getID());
						}
					};
					action
							.setText(Messages.URLShareRosterEntryContributionItem_SEND_URL_MENU_TEXT);
					action.setImageDescriptor(Activator.imageDescriptorFromPlugin(
							Activator.PLUGIN_ID, Messages.URLShareRosterContributionItem_BROWSER_ICON));
					// Return action for sending
					return new IAction[] { action };
				}
			}
		}
		// Else return null...meaning we have no menu contribution to make
		return null;
	}
    </pre>
    
    </p>
        <br><br>
       <br><br>
    </TD>
   </tr>

</table>

</body>
</html>
